package com.boco.modules.fdoc.service;

import java.util.List;

import com.boco.common.json.BaseJsonVo;
import com.boco.modules.fdoc.model.DoctorCommentEntity;
import com.boco.modules.fdoc.model.DoctorDetailScheCommEntity;
import com.boco.modules.fdoc.model.DoctorEntity;
import com.boco.modules.fdoc.model.ScheduleEntity;
import com.boco.modules.fdoc.vo.DoctorDetailVo;
import com.boco.modules.fdoc.vo.QuickBookingVo;
import com.boco.modules.fdoc.vo.ScheduleVo;

/**
 * 
 * @author sunche
 * @Time 2016年8月2日下午3:12:25
 */
public interface DocService {
	/**
	 * 获取医生列表
	 * @param doctor
	 * @return
	 */
	public List<DoctorEntity> getDoctorList(DoctorEntity doctor);
	/**
	 * 获取医生详情
	 * @param id
	 * @return
	 */
	public DoctorDetailVo getDoctorDetail(int id);
	/**
	 * 通过姓名查询医生
	 * @param name
	 * @return
	 */
	public BaseJsonVo getDocByName(String name);
	/**
	 * 按星级获取医生列表（前20）
	 * @return
	 */
	public List<DoctorEntity> getDefaultDocs(String city);
	/**
	 * 按照医生id获取排班信息
	 * @param docId
	 * @return
	 */
	public List<ScheduleEntity> getDocSchedual(ScheduleVo vo);
	/**
	 * 获取最近的两条不同等级的评论
	 * @param vo
	 * @return
	 */
	public List<DoctorCommentEntity> getSingleDocComment(DoctorDetailVo vo);
	/**
	 * 根据时间段、医院、科室确定能进行预约的医师
	 * @param vo
	 * @return
	 */
	public List<DoctorEntity> getBookingDoctor(QuickBookingVo vo);
	/**
	 * 根据城市、科室ID获取科室列表
	 * @param city
	 * @param deptId
	 * @return
	 */
	public List<DoctorEntity> getDoctorsByCityAndDept(String city,int deptId);
	/**
	 * 通过医生登录UID获取医生
	 * @param docUid
	 * @return
	 */
	public DoctorEntity getDocByDocUid(String docUid);
}
